package com.telcordia.cvas.rpn.fixtures;

import com.telcordia.cvas.rpn.RpnCalculator;

public class UseCalculator {
	RpnCalculator calculator = new RpnCalculator();
	
	public void perform(String opName) {
		calculator.perform(opName);
	}
	
	public void accept(int value) {
		calculator.setXRegister(value);
	}
	
	public void enter() {
		calculator.enter();
	}
	
	public String getContents() {
		int[] values = calculator.getStack();
		
		StringBuffer result = new StringBuffer();
		for(int current : values) {
			result.append(current);
			result.append(" ");
		}
		
		return result.toString().trim();
	}
	
	public boolean verifyCalculatorContains(String[] values) {
		int[] elements = calculator.getStack();
		
		if(elements.length != values.length)
			return false;
		
		for(int i = 0; i < values.length; ++i)
			if(elements[i] != Integer.parseInt(values[values.length - i - 1]))
				return false;
		
		return true;
	}
}
